package com.example.gradu.graduationproject.controller;

import com.example.gradu.graduationproject.domain.Directory;
import com.example.gradu.graduationproject.service.DirectoryService;
import com.example.gradu.graduationproject.util.R;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

/**
 * (Directory)表控制层
 * 所有关于目录的接口
 * @author makejava
 * @since 2025-02-13 22:49:10
 */
@RestController
@RequestMapping("directory")
public class DirectoryController {
    /**
     * 服务对象
     */
    @Resource
    private DirectoryService directoryService;

    /**
     * 全查询
     *
     * @param directory 筛选条件
     * @return 查询结果
     */
    @GetMapping("queryAll")
    public R queryAll(Directory directory) {
        return this.directoryService.queryAll(directory);
    }

    /**
     * 通过主键查询单条数据
     *
     * @param id 主键
     * @return 单条数据
     */
    @GetMapping("{id}")
    public R queryById(@PathVariable("id") Integer id) {
        return this.directoryService.queryById(id);
    }

    /**
     * 新增数据
     *
     * @param directory 实体
     * @return 新增结果
     */
    @PostMapping("add")
    public R add(@RequestBody Directory directory) {
        return this.directoryService.insert(directory);
    }

    /**
     * 编辑数据
     *
     * @param directory 实体
     * @return 编辑结果
     */
    @PutMapping("edit")
    public R edit(@RequestBody Directory directory) {
        return this.directoryService.update(directory);
    }

    /**
     * 删除数据
     *
     * @param id 主键
     * @return 删除是否成功
     */
    @DeleteMapping("delete")
    public R deleteById(Integer id) {
        return this.directoryService.deleteById(id);
    }

}


